Java 读写文件的7个实例(BufferedReader BufferedWriter FileInputStream FileOutputStream)

您所在的位置:网站首页 JAVA 处理 BufferedReader 转json Java 读写文件的7个实例(BufferedReader BufferedWriter FileInputStream FileOutputStream)

Java 读写文件的7个实例(BufferedReader BufferedWriter FileInputStream FileOutputStream)

2024-07-11 13:12| 来源: 网络整理| 查看: 265

从read()方法理解,若使用InputStreamReader的read()方法,可以发现存在每2次就会调用一次解码器解码,但若是使用 BufferedReader包装InputStreamReader后调用read()方法,可以发现只会调用一次解码器解码,其余时候都是直接从BufferedReader的缓冲区中取字符即可 从read(char cbuf[], int offset, int length)方法理解,若使用InputStreamReader的方法则只会读取leng个字符,但是使用BufferedReader类则会读取8192个字符,会尽量提取比当前操作所需的更多字节; 例如文件中有20个字符,我们先通过read(cbuf,0,5)要读取5个字符到数组cbuf中,然后再通过read()方法读取1个字符。那么使用InputStreamReader类的话,则会调用一次解码器解码然后存储5个字符到数组中,然后又调用read()方法调用一次解码器读取2个字符,然后返回1个字符;等于是调用了2次解码器,若使用BufferedReader类的话则是先调用一次解码器读取20个字符到字符缓冲区中,然后复制5个到数组中,在调用read()方法时,则直接从缓冲区中读取字符,等于是调用了一次解码器 因此可以看出BufferedReader类会尽量提取比当前操作所需的更多字节,以应该更多情况下的效率提升, 因此在设计到文件字符输入流的时候,我们使用BufferedReader中包装InputStreamReader类即可 原文链接:https://blog.csdn.net/ai_bao_zi/article/details/81134801



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3